#ifndef _FSTRING_00_H_
#define _FSTRING_00_H_
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>

class fString
{

private :
	enum {MAXSIZE=255};
	char* m_stringLocation;

public :
	fString();
	explicit fString(const char*);
	fString(const fString &);
	~fString();

	void put(const char*);
	void append(const char*);
	void show() const;

	fString & operator=(const fString &);
	const fString operator+(const fString &) const;
	const fString operator+(const char*) const;
	friend std::ostream & operator<<(std::ostream &, fString &);
	friend const fString operator+(const char*, fString);

	//I would like to declare this as explicit but, C++0x doesn't allow me to do it for some reason(25/01/2013). 
	operator char*() const;
};

#endif